<?php
/**
 * ExtPanel class file
 *
 * @author TrueSoftware B.V. (The Netherlands)
 * @link http://www.ext4yii.com
 * @copyright Copyright 2007-2010 TrueSoftware B.V. all rights reserved.
 * @license http://www.ext4yii.com/license/
 *          EVALUATION VERSION - NOT FOR COMMERCIAL USE OR DISTRIBUTION.
 * @version 0.7.2
 */

class ExtPanel extends ExtPanelBase
{
    /**
     * Gets the value of ExtJS animCollapse property
     * @return Boolean 
     */
    public function getAnimCollapse()
    {
    	return $this->getConfig("animcollapse");
    }

    /**
     * Sets the value of ExtJS animCollapse property
     * @param Boolean $value 
     */
    public function setAnimCollapse($value)
    {
    	$this->setConfig("animcollapse",$value);
    }

    /**
     * Gets the value of ExtJS autoHeight property
     * @return Boolean 
     */
    public function getAutoHeight()
    {
    	return $this->getConfig("autoheight");
    }

    /**
     * Sets the value of ExtJS autoHeight property
     * @param Boolean $value 
     */
    public function setAutoHeight($value)
    {
    	$this->setConfig("autoheight",$value);
    }

    /**
     * Gets the value of ExtJS autoLoad property
     * @return Object/String/Function 
     */
    public function getAutoLoad()
    {
    	return $this->getConfig("autoload");
    }

    /**
     * Sets the value of ExtJS autoLoad property
     * @param Object/String/Function $value 
     */
    public function setAutoLoad($value)
    {
    	$this->setConfig("autoload",$value);
    }

    /**
     * Gets the value of ExtJS baseCls property
     * @return String 
     */
    public function getBaseCls()
    {
    	return $this->getConfig("basecls");
    }

    /**
     * Sets the value of ExtJS baseCls property
     * @param String $value 
     */
    public function setBaseCls($value)
    {
    	$this->setConfig("basecls",$value);
    }

    /**
     * Gets the value of ExtJS bodyBorder property
     * @return Boolean 
     */
    public function getBodyBorder()
    {
    	return $this->getConfig("bodyborder");
    }

    /**
     * Sets the value of ExtJS bodyBorder property
     * @param Boolean $value 
     */
    public function setBodyBorder($value)
    {
    	$this->setConfig("bodyborder",$value);
    }

    /**
     * Gets the value of ExtJS bodyCssClass property
     * @return String/Object/Function 
     */
    public function getBodyCssClass()
    {
    	return $this->getConfig("bodycssclass");
    }

    /**
     * Sets the value of ExtJS bodyCssClass property
     * @param String/Object/Function $value 
     */
    public function setBodyCssClass($value)
    {
    	$this->setConfig("bodycssclass",$value);
    }

    /**
     * Gets the value of ExtJS bodyStyle property
     * @return String/Object/Function 
     */
    public function getBodyStyle()
    {
    	return $this->getConfig("bodystyle");
    }

    /**
     * Sets the value of ExtJS bodyStyle property
     * @param String/Object/Function $value 
     */
    public function setBodyStyle($value)
    {
    	$this->setConfig("bodystyle",$value);
    }

    /**
     * Gets the value of ExtJS border property
     * @return Boolean 
     */
    public function getBorder()
    {
    	return $this->getConfig("border");
    }

    /**
     * Sets the value of ExtJS border property
     * @param Boolean $value 
     */
    public function setBorder($value)
    {
    	$this->setConfig("border",$value);
    }

    /**
     * Gets the value of ExtJS closable property
     * @return Boolean 
     */
    public function getClosable()
    {
    	return $this->getConfig("closable");
    }

    /**
     * Sets the value of ExtJS closable property
     * @param Boolean $value 
     */
    public function setClosable($value)
    {
    	$this->setConfig("closable",$value);
    }

    /**
     * Gets the value of ExtJS collapseFirst property
     * @return Boolean 
     */
    public function getCollapseFirst()
    {
    	return $this->getConfig("collapsefirst");
    }

    /**
     * Sets the value of ExtJS collapseFirst property
     * @param Boolean $value 
     */
    public function setCollapseFirst($value)
    {
    	$this->setConfig("collapsefirst",$value);
    }

    /**
     * Gets the value of ExtJS collapsed property
     * @return Boolean 
     */
    public function getCollapsed()
    {
    	return $this->getConfig("collapsed");
    }

    /**
     * Sets the value of ExtJS collapsed property
     * @param Boolean $value 
     */
    public function setCollapsed($value)
    {
    	$this->setConfig("collapsed",$value);
    }

    /**
     * Gets the value of ExtJS collapsedCls property
     * @return String 
     */
    public function getCollapsedCls()
    {
    	return $this->getConfig("collapsedcls");
    }

    /**
     * Sets the value of ExtJS collapsedCls property
     * @param String $value 
     */
    public function setCollapsedCls($value)
    {
    	$this->setConfig("collapsedcls",$value);
    }

    /**
     * Gets the value of ExtJS collapsible property
     * @return Boolean 
     */
    public function getCollapsible()
    {
    	return $this->getConfig("collapsible");
    }

    /**
     * Sets the value of ExtJS collapsible property
     * @param Boolean $value 
     */
    public function setCollapsible($value)
    {
    	$this->setConfig("collapsible",$value);
    }

    /**
     * Gets the value of ExtJS disabled property
     * @return Boolean 
     */
    public function getDisabled()
    {
    	return $this->getConfig("disabled");
    }

    /**
     * Sets the value of ExtJS disabled property
     * @param Boolean $value 
     */
    public function setDisabled($value)
    {
    	$this->setConfig("disabled",$value);
    }

    /**
     * Gets the value of ExtJS draggable property
     * @return Boolean/Object 
     */
    public function getDraggable()
    {
    	return $this->getConfig("draggable");
    }

    /**
     * Sets the value of ExtJS draggable property
     * @param Boolean/Object $value 
     */
    public function setDraggable($value)
    {
    	$this->setConfig("draggable",$value);
    }

    /**
     * Gets the value of ExtJS footer property
     * @return Boolean 
     */
    public function getFooter()
    {
    	return $this->getConfig("footer");
    }

    /**
     * Sets the value of ExtJS footer property
     * @param Boolean $value 
     */
    public function setFooter($value)
    {
    	$this->setConfig("footer",$value);
    }

    /**
     * Gets the value of ExtJS frame property
     * @return Boolean 
     */
    public function getFrame()
    {
    	return $this->getConfig("frame");
    }

    /**
     * Sets the value of ExtJS frame property
     * @param Boolean $value 
     */
    public function setFrame($value)
    {
    	$this->setConfig("frame",$value);
    }

    /**
     * Gets the value of ExtJS header property
     * @return Boolean 
     */
    public function getHeader()
    {
    	return $this->getConfig("header");
    }

    /**
     * Sets the value of ExtJS header property
     * @param Boolean $value 
     */
    public function setHeader($value)
    {
    	$this->setConfig("header",$value);
    }

    /**
     * Gets the value of ExtJS headerAsText property
     * @return Boolean 
     */
    public function getHeaderAsText()
    {
    	return $this->getConfig("headerastext");
    }

    /**
     * Sets the value of ExtJS headerAsText property
     * @param Boolean $value 
     */
    public function setHeaderAsText($value)
    {
    	$this->setConfig("headerastext",$value);
    }

    /**
     * Gets the value of ExtJS hideCollapseTool property
     * @return Boolean 
     */
    public function getHideCollapseTool()
    {
    	return $this->getConfig("hidecollapsetool");
    }

    /**
     * Sets the value of ExtJS hideCollapseTool property
     * @param Boolean $value 
     */
    public function setHideCollapseTool($value)
    {
    	$this->setConfig("hidecollapsetool",$value);
    }

    /**
     * Gets the value of ExtJS iconCls property
     * @return String 
     */
    public function getIconCls()
    {
    	return $this->getConfig("iconcls");
    }

    /**
     * Sets the value of ExtJS iconCls property
     * @param String $value 
     */
    public function setIconCls($value)
    {
    	$this->setConfig("iconcls",$value);
    }

    /**
     * Gets the value of ExtJS maskDisabled property
     * @return Boolean 
     */
    public function getMaskDisabled()
    {
    	return $this->getConfig("maskdisabled");
    }

    /**
     * Sets the value of ExtJS maskDisabled property
     * @param Boolean $value 
     */
    public function setMaskDisabled($value)
    {
    	$this->setConfig("maskdisabled",$value);
    }

    /**
     * Gets the value of ExtJS minButtonWidth property
     * @return Number 
     */
    public function getMinButtonWidth()
    {
    	return $this->getConfig("minbuttonwidth");
    }

    /**
     * Sets the value of ExtJS minButtonWidth property
     * @param Number $value 
     */
    public function setMinButtonWidth($value)
    {
    	$this->setConfig("minbuttonwidth",$value);
    }

    /**
     * Gets the value of ExtJS padding property
     * @return Number/String 
     */
    public function getPadding()
    {
    	return $this->getConfig("padding");
    }

    /**
     * Sets the value of ExtJS padding property
     * @param Number/String $value 
     */
    public function setPadding($value)
    {
    	$this->setConfig("padding",$value);
    }

    /**
     * Gets the value of ExtJS preventBodyReset property
     * @return Boolean 
     */
    public function getPreventBodyReset()
    {
    	return $this->getConfig("preventbodyreset");
    }

    /**
     * Sets the value of ExtJS preventBodyReset property
     * @param Boolean $value 
     */
    public function setPreventBodyReset($value)
    {
    	$this->setConfig("preventbodyreset",$value);
    }

    /**
     * Gets the value of ExtJS shadow property
     * @return Boolean/String 
     */
    public function getShadow()
    {
    	return $this->getConfig("shadow");
    }

    /**
     * Sets the value of ExtJS shadow property
     * @param Boolean/String $value 
     */
    public function setShadow($value)
    {
    	$this->setConfig("shadow",$value);
    }

    /**
     * Gets the value of ExtJS shadowOffset property
     * @return Number 
     */
    public function getShadowOffset()
    {
    	return $this->getConfig("shadowoffset");
    }

    /**
     * Sets the value of ExtJS shadowOffset property
     * @param Number $value 
     */
    public function setShadowOffset($value)
    {
    	$this->setConfig("shadowoffset",$value);
    }

    /**
     * Gets the value of ExtJS shim property
     * @return Boolean 
     */
    public function getShim()
    {
    	return $this->getConfig("shim");
    }

    /**
     * Sets the value of ExtJS shim property
     * @param Boolean $value 
     */
    public function setShim($value)
    {
    	$this->setConfig("shim",$value);
    }

    /**
     * Gets the value of ExtJS title property
     * @return String 
     */
    public function getTitle()
    {
    	return $this->getConfig("title");
    }

    /**
     * Sets the value of ExtJS title property
     * @param String $value 
     */
    public function setTitle($value)
    {
    	$this->setConfig("title",$value);
    }

    /**
     * Gets the value of ExtJS titleCollapse property
     * @return Boolean 
     */
    public function getTitleCollapse()
    {
    	return $this->getConfig("titlecollapse");
    }

    /**
     * Sets the value of ExtJS titleCollapse property
     * @param Boolean $value 
     */
    public function setTitleCollapse($value)
    {
    	$this->setConfig("titlecollapse",$value);
    }

    /**
     * Gets the value of ExtJS unstyled property
     * @return Boolean 
     */
    public function getUnstyled()
    {
    	return $this->getConfig("unstyled");
    }

    /**
     * Sets the value of ExtJS unstyled property
     * @param Boolean $value 
     */
    public function setUnstyled($value)
    {
    	$this->setConfig("unstyled",$value);
    }

    /**
     * @description maps to the collapse function in Ext.Panel
     * @param sender String -
     * @param animate Boolean - 
     */
    public static function collapse_OnAjax($animate,$sender=null)
    {
    	ExtWidget::checkSetAjaxRequestValue('collapse(%s)',
    		array($animate),
    			 $sender);
    }

    /**
     * @description maps to the expand function in Ext.Panel
     * @param sender String -
     * @param animate Boolean - 
     */
    public static function expand_OnAjax($animate,$sender=null)
    {
    	ExtWidget::checkSetAjaxRequestValue('expand(%s)',
    		array($animate),
    			 $sender);
    }

    /**
     * @description maps to the setIconClass function in Ext.Panel
     * @param sender String -
     * @param cls String - 
     */
    public static function setIconClass_OnAjax($cls,$sender=null)
    {
    	ExtWidget::checkSetAjaxRequestValue('setIconClass("%s")',
    		array(str_replace('"','\"',$cls)),
    			 $sender);
    }

    /**
     * @description maps to the setTitle function in Ext.Panel
     * @param sender String -
     * @param title String -
     * @param iconCls String optional 
     */
    public static function setTitle_OnAjax($title,$iconCls=null,$sender=null)
    {
    	ExtWidget::checkSetAjaxRequestValue('setTitle("%s","%s")',
    		array(str_replace('"','\"',$title),str_replace('"','\"',$iconCls)),
    			 $sender);
    }

    /**
     * @description maps to the toggleCollapse function in Ext.Panel
     * @param sender String -
     * @param animate Boolean - 
     */
    public static function toggleCollapse_OnAjax($animate,$sender=null)
    {
    	ExtWidget::checkSetAjaxRequestValue('toggleCollapse(%s)',
    		array($animate),
    			 $sender);
    }

    
    public function __construct()
    {
        parent::__construct();
        $this->configmap = array_merge($this->configmap,array(
            'animcollapse' => 'animCollapse',
            'autoheight' => 'autoHeight',
            'autoload' => 'autoLoad',
            'basecls' => 'baseCls',
            'bodyborder' => 'bodyBorder',
            'bodycssclass' => 'bodyCssClass',
            'bodystyle' => 'bodyStyle',
            'collapsefirst' => 'collapseFirst',
            'collapsedcls' => 'collapsedCls',
            'headerastext' => 'headerAsText',
            'hidecollapsetool' => 'hideCollapseTool',
            'iconcls' => 'iconCls',
            'maskdisabled' => 'maskDisabled',
            'minbuttonwidth' => 'minButtonWidth',
            'preventbodyreset' => 'preventBodyReset',
            'shadowoffset' => 'shadowOffset',
            'titlecollapse' => 'titleCollapse'
        ));

        $this->eventtable = array_merge($this->eventtable,array(
            'activate' => array('p'),
            'beforeclose' => array('p'),
            'beforecollapse' => array('p','animate'),
            'beforeexpand' => array('p','animate'),
            'bodyresize' => array('p','width','height'),
            'close' => array('p'),
            'collapse' => array('p'),
            'deactivate' => array('p'),
            'expand' => array('p'),
            'iconchange' => array('p','The','The'),
            'titlechange' => array('p','The')
        ));


        $this->proptags = array_merge($this->proptags,array(
            'items' => true,
            'body' => true,
            'toptoolbar' => true,
            'bottomtoolbar' => true,
            'footertoolbar' => true,
            'buttons' => true
        ));
        $this->setXType('panel');
        $this->setXClass('Ext.Panel');
    }    
}
?>